<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">
    <ui:composition template="/index.xhtml">
        <ui:define name="conteudo">
            <h:form id="salarioForm" prependId="false">
            <p:growl showDetail="true" id="growl" sticky="true"/>
            <h3>Simulação de contracheque</h3>
            <p>Informe os dados para que possa ter uma simulação das tabelas 
                de remuneração vigentes, de acordo com a sua situação específica como servidor.
                Caso tenha alguma dúvida, existe uma "dica rápida" em cada
                campo do formulário. Entretanto, se precisar de mais detalhes,
                verifique na página de legislação relacionada ao servidor,
                clicando <h:commandLink value="aqui" action="legislacao.xhtml" />.</p>
            <p>O <b>nível 0</b> expresso na tabela significa o salário de entrada do servidor, quando percebe 80 pontos de gratificação de desempenho, até avaliação.</p>
            <p:panel id="panel" header="Calcule seu salário">
                 <h:panelGrid id="panelGrid" columns="2">
                    <h:outputText value="Cargo: "  />
                    <p:selectOneMenu id="cargo" value="#{rubricaMB.escolaridadeSelecionada}" required="true" immediate="true"  >
                        <f:selectItem itemLabel="Analista" itemValue="3" />
                        <f:selectItem itemLabel="Técnico" itemValue="2" />
                        <p:ajax  update="escolaridade" process="@this" />
                    </p:selectOneMenu>

                    <h:outputText value="Escolaridade: "  />
                    <p:selectOneMenu id="escolaridade"  value="#{rubricaMB.gqSelecionada}"  required="true" immediate="true">
                        <f:selectItems value="#{rubricaMB.recuperaEscolaridades()}"
                                       var="escolaridade"
                                       itemLabel="#{escolaridade.nome}"
                                       itemValue="#{escolaridade.valor}"/>

                    </p:selectOneMenu>

                    <h:outputText value="Pontos GDAEM:"/>
                    <p:inputText value="#{rubricaMB.pontosDesempenho}" id="gdaem" size="7" maxlength="3" required="true"
                                 requiredMessage="Informe um valor entre 50 e 100 pontos! " 
                                 title="Se for como servidor em início de carreira, deixe em 100 pontos. Será gerada uma linha sobre o valor da remuneração
                                 antes da avaliação de desempenho (considerando 80 pontos) e outra após a avaliação. ">
                        <f:validateLongRange minimum="0" maximum="100"  />
                    </p:inputText>

                    <h:outputText value="Regime de Previdência:" />
                    <p:selectOneRadio id="previdencia" value="#{rubricaMB.indicePrevidencia}" 
                                      requiredMessage="Informe o Regime de Previdência."
                                      required="true">   
                        <f:selectItem itemLabel="Regime Próprio" itemValue="0.11" />
                        <f:selectItem itemLabel="Funpresp - 7,5%" itemValue="0.075" />
                        <f:selectItem itemLabel="Funpresp - 8,0%" itemValue="0.080" />
                        <f:selectItem itemLabel="Funpresp - 8,5%" itemValue="0.085" />
                        <f:selectItem itemLabel="Apenas Teto" itemValue="0.00" />

                    </p:selectOneRadio>

                    <h:outputText value="Dependentes IRRF: " />
                    <p:inputText value="#{rubricaMB.dependentesIRRF}" size="7" maxlength="1" id="dependentesIRRF" required="true"
                                 requiredMessage="Você deve informar um valor entre 0 e 9. "
                                title="Informe o número de dependentes que possui para dedução no imposto de renda, se houver.">
                                 <f:validateLongRange minimum="0" maximum="9"  />
                    </p:inputText>

                    <h:outputText value="Associado ao Asibama?" />
                    <p:selectOneRadio id="asibama" value="#{rubricaMB.associadoAsibama}"  required="true" requiredMessage="Informe se deseja calcular desconto ou não do Asibama.">
                        <f:selectItem itemLabel="Sim" itemValue="true" />
                        <f:selectItem itemLabel="Não" itemValue="false" />
                    </p:selectOneRadio>

                    <h:outputText value="Possui VPNI? " />
                    <p:inputText  value="#{rubricaMB.vpni}" size="7" maxlength="10" id="vpni" required="true"
                                  requiredMessage="Informe um valor entre 0 a 10000. Caso possua mais que R$ 10.000,00 em VPNIs, esta informação não pode ser calculada por este sistema"
                                 title="Se possuir VPNI, informe o valor. VPNIs são vantagens pessoais normalmente identificadas, em geral herdadas de direitos adquiridos que não são mais pagos.">
                                 <!--Inserir validação de campos: formatar como duas casas decimais e não permitir valor <0 ou maior que 10000 -->
                                 <f:convertNumber   pattern="#,##0.00" />  
                    </p:inputText>

                    <h:outputText value="Possui Anuênio? " />
                    <p:inputText value="#{rubricaMB.anuenio}" size="7" maxlength="2" id="anuenio" required="true"
                                 requiredMessage="Você deve informar um valor entre 0 e 35. "
                                title="Se possuir anuênios, informe o valor, senão deixe 0. Anuênios são pagos para servidores que entraram no serviço público até 1998.">
                                 <f:validateLongRange minimum="0" maximum="35"  />
                    </p:inputText>


                    <h:outputText value="" />
                    <p:commandButton value="Gerar Tabelas" actionListener="#{rubricaMB.calculaSalario()}" update="resultado,growl"/>
                    <p:ajaxStatus>
                        <f:facet name="start">  
                            <h:outputText value="Processando..." />
                            <h:graphicImage value="ajax-loader.gif"/>  
                        </f:facet>  
                        <f:facet name="complete">  
                            <h:outputText value="" />  
                        </f:facet>
                    </p:ajaxStatus>

                </h:panelGrid>
            </p:panel>

            <p:dataTable var="tabela" id="resultado" value="#{rubricaMB.tabelasIbama}" 
                         emptyMessage="Informe valores para cálculo, lembre-se de marcar o regime previdenciário. ">
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" id="tabelaAno"  headerText="Ano" >

                    <h:outputText value="#{tabela.ano}" />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" id="tabelaNivel" headerText="Padrão" >
                    <h:outputText value="#{tabela.nivel}" />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0 }" id="tabelaVencimento"  headerText="Vencimento" >

                    <h:outputText value="R$ #{tabela.vencimento}" />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" id="tabelaGDAEM" headerText="_GDAEM_" >
                    <h:outputText value="R$ #{tabela.valorGratificacao}"  />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Grat. Qual." >
                    <h:outputText value="R$ #{tabela.gq}"  />
                </p:column>
                 <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Aux.Alim." >
                     <h:outputText value="R$ #{tabela.auxilioAlimentacao}"  />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Salário Bruto">
                    <h:outputText value="R$ #{tabela.salarioBruto}" style="font-weight: bold" />

                </p:column>
                 <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Previdência" >
                     <h:outputText value="R$ #{tabela.valorPSS}"  />
                </p:column>
                 <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Imp. Renda" >
                     <h:outputText value="R$ #{tabela.valorIR}"  />
                </p:column>
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Asib." >
                    <h:outputText value="R$ #{tabela.valorAsibama}"  />
                </p:column>
                
                <p:column rendered="#{rubricaMB.tabelasIbama.size() > 0}" headerText="Sal. Líquido">
                    <h:outputText value="R$ #{tabela.salarioLiquido}"  style="font-weight: bold"/>                        
                </p:column>
                
                
            </p:dataTable>
            
            
            
            </h:form>
        </ui:define>
    </ui:composition>
</html>